home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / apps / 102 / examples / recurse.c < prev    next >
C/C++ Source or Header  |  1987-01-25  |  1KB  |  43 lines

  1. /*
  2.  * run this with 'test1' as the first command line argument.  It will
  3.  * recurse to three levels if the 'test1, 'test2' and 'test3' files are
  4.  * available for it to read.  This program works fine with Lattice C
  5.  * but fails miserably with the orignial developers kit.
  6.  */
  7.  
  8. #include "stdio.h"
  9.  
  10. int     main(argc,argv)
  11. int     argc;
  12. char    **argv;
  13. {
  14.         FILE    *in;
  15.  
  16.         if (argc > 1) {
  17.                 if ((in = fopen(argv[1],"r")) == NULL) exit(1);
  18.                 echofile(in);
  19.                 fclose(in);
  20.         }
  21.  
  22.         exit(0);
  23. }
  24.  
  25. int     echofile(in)
  26. FILE    *in;
  27. {
  28.         FILE    *newin;
  29.         char    line[BUFSIZ];
  30.  
  31.         while (fgets(line,BUFSIZ,in)) {
  32.                 printf("%s",line);
  33.                 if (! strncmp(line,"read ",5)) {
  34.                         line[strlen(line)-1] = 0;
  35.                         if ((newin = fopen(line+5,"r")) == NULL) continue;
  36.                         echofile(newin);
  37.                         fclose(newin);
  38.                 }
  39.         }
  40.  
  41.         return 0;               
  42. }
  43.